import { AxiosPromise } from 'axios'
import request from '/@/api/axios'

export const getList = (current: number, size: number, params = {}) => {
  return request({
    url: '/api/blade-report/report/rest/list',
    method: 'get',
    params: {
      ...params,
      current,
      size,
    },
  })
}
export const remove = (ids: string) => {
  return request({
    url: '/api/blade-report/report/rest/remove',
    method: 'post',
    params: {
      ids,
    },
  })
}

export const findALLNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummary/findALLNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findALLTestNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummary/findALLTestNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findAllGradeLevelInterveneNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummary/findAllGradeLevelInterveneNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findFinishNoTestNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummary/findFinishNoTestNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findFinishTestNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummary/findFinishTestNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}
export const findGradeLevelInterveneNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummary/findGradeLevelInterveneNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findGradeLevelNum1 = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummary/findGradeLevelNum2',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findGradeLevelNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummary/findGradeLevelNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findLevelAllNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummary/findLevelAllNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findLevelAreaNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummary/findLevelAreaNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findLevelNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummary/findLevelNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findLevelSexNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummary/findLevelSexNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findSexLevelNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummary/findSexLevelNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const userpersonalsummaryList = (
  current: number,
  size: number,
  params = {}
) => {
  return request({
    url: '/api/blade-measure/measure/userpersonalsummary/list',
    method: 'get',
    params: {
      ...params,
      current,
      size,
    },
  })
}

export const findAllGradeNoTestNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummary/findAllGradeNoTestNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findAllAbnormalGradeNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/userabnormalsummary/findAllAbnormalGradeNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findAllAbnormalNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/userabnormalsummary/findAllAbnormalNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findAllAbnormalSexNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/userabnormalsummary/findAllAbnormalSexNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findAllGradeNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/userabnormalsummary/findAllGradeNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findAllGradeNumTo = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/userabnormalsummary/findAllGradeNum2',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findAllNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/userabnormalsummary/findAllNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findAllNumTo = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/userabnormalsummary/findAllNum2',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const totalTenantPostNumber = (params = {}) => {
  return request({
    url: '/api/blade-user/totalTenantPostNumber',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const getCensusList = (current: number, size: number, params = {}) => {
  return request({
    url: '/api/blade-measure/measure/project/list',
    method: 'get',
    params: {
      ...params,
      current,
      size,
    },
  })
}

/////////////////////////////////////

export const findALLNumEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummaryeducation/findALLNumEducation',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findALLTestNumEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummaryeducation/findALLTestNumEducation',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findAllGradeLevelInterveneNumEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummaryeducation/findAllGradeLevelInterveneNumEducation',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findFinishNoTestNumEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummaryeducation/findFinishNoTestNumEducation',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findFinishTestNumEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummaryeducation/findFinishTestNumEducation',
    method: 'get',
    params: {
      ...params,
    },
  })
}
export const findGradeLevelInterveneNumEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummaryeducation/findGradeLevelInterveneNumEducation',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findGradeLevelNum1Education = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummaryeducation/findGradeLevelNumEducation2',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findGradeLevelNumEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummaryeducation/findGradeLevelNumEducation',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findLevelAllNumEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummaryeducation/findLevelAllNumEducation',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findLevelAreaNumEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummaryeducation/findLevelAreaNumEducation',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findLevelNumEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummaryeducation/findLevelNumEducation',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findLevelSexNumEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummaryeducation/findLevelSexNumEducation',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findSexLevelNumEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummaryeducation/findSexLevelNumEducation',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const userpersonalsummaryListEducation = (
  current: number,
  size: number,
  params = {}
) => {
  return request({
    url: '/api/blade-measure/measure/userpersonalsummaryEducation/listEducation',
    method: 'get',
    params: {
      ...params,
      current,
      size,
    },
  })
}

export const findAllGradeNoTestNumEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummaryeducation/findAllGradeNoTestNumEducation',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findAllAbnormalGradeNumEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/userabnormalsummary/findAllAbnormalGradeNumEducation',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findAllAbnormalNumEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/userabnormalsummaryEducation/findAllAbnormalNumEducation',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findAllAbnormalSexNumEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/userabnormalsummaryEducation/findAllAbnormalSexNumEducation',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findAllGradeNumEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/userabnormalsummaryEducation/findAllGradeNumEducation',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findAllGradeNumToEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/userabnormalsummaryEducation/findAllGradeNum2Education',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findAllNumEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/userabnormalsummaryEducation/findAllNumEducation',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findAllNumToEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/userabnormalsummaryEducation/findAllNum2Education',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const getTenant = (tenantId: string) => {
  return request({
    url: `/api/blade-system/tenant/detail?tenantId=${tenantId}`,
    method: 'get',
  })
}

export const getWarningType = () => {
  return request({
    url: `api/blade-system/dict/dictionary?code=warning_type`,
    method: 'get',
  })
}

export const findAbnormalLevelNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/userabnormalsummary/findAbnormalLevelNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findAbnormalSexNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/userabnormalsummary/findAbnormalSexNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findAbnormalGradeNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/userabnormalsummary/findAbnormalGradeNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

let getTermListAllPromise: AxiosPromise<any> | null = null

export const getTermListAll = () => {
  if (!getTermListAllPromise) {
    getTermListAllPromise = request({
      url: '/api/blade-measure/measure/term/listAll',
      method: 'get',
      params: {},
    })
  }

  return getTermListAllPromise
}

export const findNoReleaseFinishTestNumEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummaryeducation/findNoReleaseFinishTestNumEducation',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findReleaseFinishTestNumEducation = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummaryeducation/findReleaseFinishTestNumEducation',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findReleaseFinishTestNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummary/findReleaseFinishTestNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}

export const findNoReleaseFinishTestNum = (params = {}) => {
  return request({
    url: '/api/blade-measure/measure/usersummary/findNoReleaseFinishTestNum',
    method: 'get',
    params: {
      ...params,
    },
  })
}
